#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable : 4996)
#pragma warning(disable : 6031)

#include "Date.h"

void test1()
{
	Date d1(2023, 7, 27);
	Date d2 = d1 + 2000;
	d1.Print();
	d1 += 20000;
	d1.Print();
	d2.Print();
}


void test2()
{
	Date d1(2023, 7, 27);
	Date d2 = d1 - 2000;
	d1.Print();
	d1 -= 2000;
	d1.Print();
	d2.Print();


}


void test3()
{
	Date d1(2023, 7, 27);
	Date d2(d1);
	d1.Print();
	d1--.Print();
	d1.Print();
	(--d2).Print();
	d2.Print();
}


void test4()
{
	Date d1(2023, 7, 27);
	Date d2(d1);
	d1++.Print();
	d1.Print();
	(++d2).Print();
	d2.Print();
}




void test5()
{
	Date d1(2023, 7, 27);
	Date d2(2000, 1, 1);
	Date d3(2023, 7, 27);


	d1.Print();
	d2.Print();
	d3.Print();

	cout << "(d1 - d2) :" << (d1 - d2) << endl;
	cout << "(d1 == d2):" << (d1 == d2) << endl;
	cout << "(d1 <= d2):" << (d1 <= d2) << endl;
	cout << "(d1 < d2) :" << (d1 < d2) << endl;
	cout << "(d1 >= d2):" << (d1 >= d2) << endl;
	cout << "(d1 > d2) :" << (d1 > d2) << endl;
	cout << "(d1 != d2):" << (d1 != d2) << endl;
	cout << "(d1 - d3) :" << (d1 - d3) << endl;
	cout << "(d1 == d3 :" << (d1 == d3) << endl;
	cout << "(d1 <= d3):" << (d1 <= d3) << endl;
	cout << "(d1 < d3) :" << (d1 < d3) << endl;
	cout << "(d1 >= d3):" << (d1 >= d3) << endl;
	cout << "(d1 > d3) :" << (d1 > d3) << endl;
	cout << "(d1 != d3):" << (d1 != d3) << endl;

}


int main()
{
	//test1();
	//test2();
	//test3();
	//test4();
	test5();

	return 0;
}